#!/usr/bin/perl
#
# Project Manager file prep tool to be used on the raw OCR output files
#
# AUTHOR: D. Garcia (for Distributed Proofreading) 12/15/2002
#
# AUTOMATIC FUNCTIONS:
#  Removes end-of-line hyphenation and joins words.
#  Marks "last line last word" hypen with asterisk.
#  Removes start/end-of-line spaces.
#  Collapses multiple adjacent spaces.
#  Removes spaces before ,.:"!?) punctuation.
#  Removes spaces before common contractions.
#  Inserts "[Blank Page]" text into zero-byte files.
#
# CONTROLLABLE FUNCTIONS:
#  Fixes common scannos with -c (corrections) switch. (default OFF)
#  Analyze and strip header lines with -s (strip) switch. (default OFF)
#  The -s option tells the script to analyze the first line by word freqency and capitalization.
#
# BUGS:
#  De-hyphenation does not work properly on texts which scanned as doublespaced lines
#  Doesn't check de-hyphenated words for scannos. (not a big deal)
#  Does not (YET) check words with punctuation for scannos.
#  Data should eventually be moved into separate files for ease of maintenance
#  Script needs to be in the path, or called with explicit pathing.
#
# CAVEATS:
#  Probably shouldn't be used on text that isn't primarily English.
#  Assumes ALL *.txt files in current directory are to be processed, should set.
#  Assumes DOS-style CRLF for rewriting line endings. 
# ==============================================================================

eval 'exec /usr/bin/perl -S $0 ${1+"$@"}'
	if $running_under_some_shell;

my $striptext="";
my (%corrections, %count);
my $errors = 0;
my $hyphen = 0;
my $totalerrors = 0;
my $totalhyphen = 0;
my $eflag = 0;
my $hflag = 0;
my $bflag = 0;
my $pflag = 0;
my $sflag = 0;
my $cflag = 0;
my $org_line = "";
my $filename="";
my $word;
my $current_dir = ".";
my @files;
my @nojoin;
my $size = 0;
my $notjoined = 0;
my ($stripped, $freqmatch, $capmatch);
my $filecount;

while ($ARGV[0] =~ /^-/) {
    $_ = shift;
  last if /^--/;
#   Default operation is to NOT do scanno correction

    # -c		Enable Scanno correction with
    if (/^-c/) { $cflag++; next; }

    # -s 		Enable header analysis and stripping
    if (/^-s/) { $sflag++; next; }

    # -?		Explain the options
    if (/^-\?/) {
	die "Valid switches are:
	-c	Enable scanno correction
	-s 	Enable header and stripping and analysis";
    }
    die "I don't recognize this switch: $_\n";
}

# ==============================================================================

use strict;

# Program will ALWAYS output a report file in the current directory so the PM
# can retrive the file (or the php interface can display it) to verify output.
  open REPORT, "> report.out" or die "Could not create report file: $!";
  print REPORT "INFO: Page header analysis and stripping enabled.\n\n" if ($sflag);
  print REPORT "INFO: Scanno detection and correction enabled.\n\n" if ($cflag);

# Read in DATA segment to load the hash table of 'scannos => corrections'
  while (<DATA>) { 
    chomp;
    my ($typo, $fix) = split /\s*=>\s*/;
    next unless $typo && $fix;
    $corrections{$typo} = $fix;
  }

# ==============================================================================
# List of hypenated words that should NOT be de-hyphenated when at
# the end of a line. (common compound words and hyphenated prefixes, first half)
# Lazy, this really should be using "dictionary" files instead of inlined data
# NEW LIST: Frequency analyzed from the Moby Project data, top 300 or so in the
# categories: descriptive, animal, body, colors, directions, emotions, numerics,
# places, plants, true hyphenated prefixes, times, and weather. Objects and
# verbs were excluded due to low frequencies.

@nojoin = ( "afore", "after", "age", "air", "all", "alpha", "anti", "arch", "arm", "auto", 
"baby", "back", "belly", "beta", "bird", "black", "blood", "blue", "brain", 
"bright", "broad", "brow", "brown", "buck", "bull", "care", "chicken", "child", 
"clear", "close", "cloud", "cold", "contra", "corn", "count", "counter",
"country", "court", "cow", "cross", "crow", "day", "dead", "deep", "demi", "dim", 
"dog", "double", "down", "dream", "dry", "dull", "ear", "east", "eight",
"eighty", "end", "equal", "eve", "ever", "extra", "eye", "false", "far", 
"father", "fear", "feather", "field", "fifty", "fire", "first", "fish", 
"five", "flat", "flower", "fly", "foot", "for", "fore", "forty", "four", 
"fourth", "free", "front", "frost", "full", "gay", "gold", "golden", "good", 
"goose", "grass", "gray", "great", "green", "grey", "ground", "hair", "half", 
"hand", "hard", "head", "heart", "heat", "heaven", "high", "hog", "home", 
"horse", "hot", "house", "hundred", "hyper", "ice", "ill", "inter", "intra", 
"ivory", "joy", "land", "large", "last", "late", "left", "life", "light", 
"lion", "long", "love", "low", "many", "mean", "merry", "meta", "middle", 
"mill", "mind", "moon", "morning", "mother", "mouse", "multi", "multiple", 
"near", "neo", "never", "new", "nigh", "night", "nine", "ninety", "non", 
"north", "nose", "off", "old", "one", "open", "out", "over", "pale", "pan", 
"par", "passion", "pear", "pearl", "pleasant", "pleasure", "plum", "point", 
"post", "pro", "proto", "proud", "pseudo", "public", "purple", "quarter", 
"quasi", "quick", "rain", "red", "rib", "right", "river", "road", "rock", 
"rose", "rough", "round", "rude", "sad", "sand", "scar", "scare", "sea", 
"second", "self", "semi", "seven", "seventy", "sharp", "short", "side", "silk", 
"silver", "single", "six", "sixty", "skin", "sky", "slow", "small", "smooth", 
"snake", "snow", "sober", "soft", "sole", "son", "soon", "sorrow", "soul", 
"south", "spider", "spring", "square", "stag", "star", "state", "stern", "stone", 
"storm", "straight", "sub", "sugar", "summer", "sun", "super", "supra", "swan", 
"sweet", "tempest", "ten", "tender", "terror", "thick", "thin", "third", 
"thirty", "thought", "thousand", "three", "thrice", "through", "thunder", "time", 
"to", "toad", "tongue", "top", "town", "tree", "tri", "triple", "true", "twelve", 
"twenty", "twice", "two", "ultra", "under", "vice", "violet", "wall", "water", 
"well", "west", "white", "wide", "wind", "wing", "winter", "wish", "woe", "wolf", 
"wonder", "wood", "world", "worm", "wry", "year", "yellow"
);
# ==============================================================================

# Get a list of all txt files in the current directory
  opendir(DIR, $current_dir);
  @files = grep { /\.txt$/ } readdir(DIR);
  closedir(DIR);

# Header Analysis
if ($sflag) {					# Analyze page headers
    foreach $filename (@files) {
    open SCANFILE, "< $filename" or die "Couldn't open input file $!";
SCAN:	while (<SCANFILE>) {
	my $tmpline = $_;
	  if ($. < 3) {
		$_ = $tmpline; $tmpline =~ s/ {2,}/ /g;	# Collapse multispaces
		$_ = $tmpline; $tmpline =~ s/^ {1,}//g;	# Remove SOL spaces
		$_ = $tmpline; $tmpline =~ s/ {2,}/ /g;	# Remove EOL spaces
	        tr/.,:;!?(){}[]\r//d;			# Strip punctuation and CR
		tr/\t/ /;				# Ditch tabs

		foreach $word (split) { $count{$word}++; }
	  } else { last SCAN; }
	    close SCANFILE;
	}
    }
    foreach $word (sort keys %count) {
	if (($count{$word} > 2) && (length($word) > 3) ) {
	  $striptext = $striptext . "$word ";
	}
    }
    print REPORT "Header Analysis: Pattern list is \"$striptext\".\n";
}

# Process each file
  foreach $filename (@files) {
    print REPORT "\nProcessing file: $filename\n";
    $filecount++;
    $size = -s $filename;
    if ($size == 0) {
	# FIX ZERO BYTE FILES (add blank page text)
	open FILE, "> $filename+" or die "Couldn't open zero-byte file $!";
        print FILE "[Blank Page]\r\n";
        close FILE;
    } else {
	open OLDFILE, "< $filename" or die "Couldn't open input file $!";
	open NEWFILE, "> $filename+" or die "Couldn't open output file $!";
        &process_file;
	close OLDFILE;
	close NEWFILE;
    # This moves the original files to minus versions and the modified files into place
    my $minusfile = $filename . "-";
    my $plusfile  = $filename . "+";
    rename $filename, $minusfile;
    rename $plusfile, $filename;
    }
    print REPORT "File $filename had $errors scannos and $hyphen EOL hyphens.\n";
    print REPORT "=" x 79, "\n";
    $totalerrors += $errors;
    $totalhyphen += $hyphen;			# Running totals
  }
  my $formatline = "%-30s: %5d";
  print REPORT "\nTOTALS:\n";
  printf REPORT "$formatline\n","Files processed:",$filecount;
  print  REPORT "Page header analysis and stripping was enabled.\n\n" if ($sflag);
  print  REPORT "Scanno detection and correction was enabled.\n\n" if ($cflag);
  printf REPORT "$formatline\n","Scannos Corrected",$totalerrors if ($cflag);
  printf REPORT "$formatline\n","EOL Hyphens",$totalhyphen if ($totalhyphen);
  printf REPORT "$formatline (%4.1f%%)\n","Compound hyphens not joined",$notjoined,$notjoined/$totalhyphen++ * 100 if ($totalhyphen != 0);
  printf REPORT "$formatline (%4.1f%%)\n","Page Headers stripped",$stripped,$stripped/++$filecount * 100 if ($sflag);
  printf REPORT "$formatline (%4.1f%%)\n","-  By Word Frequency",$freqmatch,$freqmatch/$stripped * 100 if ($stripped != 0);
  printf REPORT "$formatline (%4.1f%%)\n","-  By Allcaps",$capmatch,$capmatch/$stripped * 100 if ($stripped != 0);
  print  REPORT "\nHeader Analysis:\n$striptext\n" if ($sflag);
  close REPORT;

# END OF MAIN
# ==============================================================================

# This subroutine performs all the magical happy stuff :)
sub process_file {

    # Reset our counters
    $errors=0;
    $hyphen=0;

    # Read the input file:

LINE:   while (<OLDFILE>) { 
	$eflag = 0;
	my $i = 0;
	my $j = 0;
	my $tmpline = "";				# Modified line
	my $tmphyphen = "";				# Fragment holder
	$org_line = reverse $_;				# Save line backwards
	my $word;
	my $matchcount=0;

	# Header Stripping ====================================================
	if (($sflag) && ($. == 1)) {			# Stripping line 1 only
	print REPORT "Header $.: $_";
	if ($_ eq "[Blank Page]\r\n") { print NEWFILE; next LINE;}	# Skip blanks
	    foreach $word (split( / /, $striptext)) {
		$matchcount += grep /$word/, $_;
		}
	if ($matchcount) {
	    print REPORT "Removed by matching frequency keyword ($matchcount matching words)\n";
	    $stripped++;
	    $freqmatch++;
	    $matchcount = 0;
	    next LINE;
	} else {
	# No high-frequency match, try all uppercase. Also matches number-only
	if ( uc($_) eq $_) {
	    print REPORT "Removed by matching Allcaps/Allnumerics\n";
	    $capmatch++;
	    $stripped++;
	    next LINE;
	    }
	}
	}

	# Hyphenation Joining =================================================
	$pflag = $hflag;				# Save previous hflag
	$hflag = ( /-\s$/ || 0 );			# Toggle the hflag

	if ($hflag) {					# If we're on a hyphen
	    $_ =~ s/(\r|\n|-)$//g;			# Ditch the line termination

	    $tmphyphen = ( split /\s/, $_) [-1];	# Get last word of line
	    $tmphyphen =~ s/(\r|\n)//g;			# and strip its line termination
	    $tmphyphen =~ s/-$//;			# Get the non-hyphen part
	    $tmphyphen =~ s/\(|\)|\{|\}|\[|\]|\///g;	# Ugly hack to drop perl quoting chars

	    $j = grep ( /^${tmphyphen}$/ , @nojoin);	# See if there's a match
	    if (not $j) {				# If string NOT in nojoin list
		$_ =~ s/-$//;				# Remove the hypen
	    } else {
		print REPORT "Not joining \"$tmphyphen-\" at line $.\n";
		$notjoined++;
	    }
	    $hyphen++;					# Count EOL hyphens
	}

    for (split /(\s+)/, $_, -1) {
    $i++;						# Word $i in line

        if ($cflag) {
	    # If replacement exists and not on 1st word of line after hypen, fix.
	    if (($corrections{$_}) && not ($i == 1) && not ($hflag)) {
	        $errors++;				# Track errors in page.
	        $eflag=1;				# Set flag if errors.
	        print REPORT "Correcting \"$_\" to \"$corrections{$_}\" at line $.\n";
	    }
	    # The following line appends (to $tmpline):
	    # 1) The original word if there is no entry in the hash table, or
	    # 2) The corrected word if there is an entry in the hash table.
	    $tmpline = $tmpline . ($corrections{$_} || $_);

	    # Drop in the newline after a dehyphenated fragment and clear the flag
	    if (($i == 1) && ($pflag)) { $tmpline = $tmpline . "\r\n"; $pflag=0; }
        } else {
	# Not doing corrections
	    # Drop in the newline after a dehyphenated fragment and clear the flag
	    if (($i == 1) && ($pflag)) { $tmpline = $tmpline . $_ . "\r\n"; $pflag=0; }
	    else { $tmpline = $tmpline . $_ ; }
	}
    }

        $_ = $tmpline; $tmpline =~ s/ {2,}/ /g;		# collapse multispaces
        $_ = $tmpline; $tmpline =~ s/^ {1,}//g;		# remove SOL spaces
        $_ = $tmpline; $tmpline =~ s/ {1,}$//g;		# Remove EOL spaces
        $_ = $tmpline; $tmpline =~ s/\r\n /\r\n/g;	# ditch space after dehyphening

	# Fix spaces before colon, semi-colon, comma, period, question mark, exclamation point, closing paren
	$_ = $tmpline; $tmpline =~ s/ (:|;|,|\.|\?|\!|\))/$1/g;

	# Remove spaces before common contractions
	$_ = $tmpline; $tmpline =~ s/ 'll/'ll/g;
	$_ = $tmpline; $tmpline =~ s/ 're/'re/g;
	$_ = $tmpline; $tmpline =~ s/ 've/'ve/g;
	$_ = $tmpline; $tmpline =~ s/ n't/n't/g;

        print NEWFILE $tmpline;				# Write the modified line
    }
    # Add hyphen AND ASTERISK and newline if hflag is still set
    # (Because we removed them, and this is the end of a page!)
    print NEWFILE "-*\r\n" if ($hflag);
}

# =============================================================================
# Following this is the scanno correction pairs list:
#
# Ambiguous scannos are marked with an asterisk, not corrected.
#
# Word list derived from Moby project data, cut for top 2000 frequency and word
# of 6 characters or less (to reduce size and assuming that longer words will
# be closely examined by the proofreaders). The resulting list was processed
# through perl scripts which generated scannos by replacement (see below).
# This result was then filtered to eliminate valid words from the generated
# "error" list (left side) to eliminate false positives.
#
# The common scannos from gutcheck and PRTK were then added, as well as some
# additional scannos provided by numerous DP proofreaders.
#
# The resulting list was then tested against just over 1 million words of raw
# OCR output provided by charlz. Further false positives were discovered and
# removed. The actual hit rate for this code is about 1 scanno detected per 30k
# words of input text. The actual accuracy rate against the corpus provided by
# charlz is: 2 false positives out of 122 scannos detected, or 98.3% accurate.
# Seems worthwhile to me. :)
#
# The scanno generation: (correct/incorrect)
# Bidirectional: b/h u/n rn/m li/h
# Unidirectional: y/v e/c 1/l 0/o 9/g
# =============================================================================
__END__
1oth	=>	10th
l0th	=>	10th
1lth	=>	11th
l1th	=>	11th
llth	=>	11th
l2th	=>	12th
l3th	=>	13th
l4th	=>	14th
l5th	=>	15th
l6th	=>	16th
l7th	=>	17th
l8th	=>	18th
1gth	=>	19th
l9th	=>	19th
lgth	=>	19th
lst	=>	1st
2oth	=>	20th
2lst	=>	21st
2gth	=>	29th
3oth	=>	30th
3lst	=>	31st
gth	=>	9th
ablc	=>	able
ahle	=>	able
ahout	=>	about
Abont	=>	About
Ahont	=>	About
Ahout	=>	About
abovc	=>	above
ahove	=>	above
ahroad	=>	abroad
abscnt	=>	absent
abseut	=>	absent
ahsent	=>	absent
acadernic	=>	academic
acccpt	=>	accept
accornpany	=>	accompany
accnse	=>	accuse
accusc	=>	accuse
accustorn	=>	accustom
acbe	=>	ache
achc	=>	ache
aclie	=>	ache
actiou	=>	action
activc	=>	active
actnal	=>	actual
adinire	=>	admire
admirc	=>	admire
adrnire	=>	admire
adrnission	=>	admission
adinit	=>	admit
adrnit	=>	admit
adnlt	=>	adult
advicc	=>	advice
advisc	=>	advise
affcct	=>	affect
aftcr	=>	after
Aftcr	=>	After
aftemoon	=>	afternoon
agaiu	=>	again
agam	=>	again
Agaiu	=>	Again
Agam	=>	Again
Agaiust	=>	Against
Agamst	=>	Against
agc	=>	age
agcncy	=>	agency
agencv	=>	agency
ageucy	=>	agency
agcnt	=>	agent
ageut	=>	agent
agrcc	=>	agree
agreernent	=>	agreement
abead	=>	ahead
ahcad	=>	ahead
aliead	=>	ahead
aiin	=>	aim
airn	=>	aim
ahke	=>	alike
alikc	=>	alike
ahve	=>	alive
alivc	=>	alive
alinost	=>	almost
alrnost	=>	almost
alonc	=>	alone
aloue	=>	alone
aloug	=>	along
alond	=>	aloud
altemative	=>	alternative
altbough	=>	although
alwavs	=>	always
aln	=>	am
arn	=>	am
arnbition	=>	ambition
arnbitious	=>	ambitious
ainong	=>	among
amoug	=>	among
arnong	=>	among
arnongst	=>	amongst
ainount	=>	amount
amonnt	=>	amount
amouut	=>	amount
arnount	=>	amount
ainuse	=>	amuse
amnse	=>	amuse
amusc	=>	amuse
arnuse	=>	amuse
au	=>	an
amd	=>	and
aud	=>	and
Aud	=>	And
angcr	=>	anger
anglc	=>	angle
augle	=>	angle
angrv	=>	angry
augry	=>	angry
aniinal	=>	animal
anirnal	=>	animal
auimal	=>	animal
annov	=>	annoy
auuoy	=>	annoy
annnal	=>	annual
auuual	=>	annual
anotber	=>	another
Anotber	=>	Another
Anothcr	=>	Another
Anotlier	=>	Another
Auother	=>	Another
answcr	=>	answer
auswer	=>	answer
anv	=>	any
auy	=>	any
Anv	=>	Any
Auv	=>	Any
Auy	=>	Any
anvhow	=>	anyhow
anybow	=>	anyhow
anyliow	=>	anyhow
auyhow	=>	anyhow
anvone	=>	anyone
anyonc	=>	anyone
auyoue	=>	anyone
anvwav	=>	anyway
auyway	=>	anyway
appcal	=>	appeal
appcar	=>	appear
applv	=>	apply
appointrnent	=>	appointment
arcb	=>	arch
arcli	=>	arch
ane	=>	are
arca	=>	area
argne	=>	argue
arguc	=>	argue
argurnent	=>	argument
arisc	=>	arise
arin	=>	arm
arrn	=>	arm
ariny	=>	army
armv	=>	army
arrny	=>	army
aronnd	=>	around
arouud	=>	around
Aronnd	=>	Around
Arouud	=>	Around
arrangernent	=>	arrangement
arrcst	=>	arrest
arrivc	=>	arrive
asb	=>	ash
asli	=>	ash
asharned	=>	ashamed
asidc	=>	aside
aslccp	=>	asleep
aspcct	=>	aspect
assernbly	=>	assembly
asscss	=>	assess
assessrnent	=>	assessment
assct	=>	asset
assnme	=>	assume
assuine	=>	assume
assumc	=>	assume
assurne	=>	assume
assurnption	=>	assumption
atrnosphere	=>	atmosphere
attacb	=>	attach
attacli	=>	attach
atternpt	=>	attempt
attcnd	=>	attend
atteud	=>	attend
annt	=>	aunt
auut	=>	aunt
anthor	=>	author
autbor	=>	author
autlior	=>	author
antnmn	=>	autumn
autuinn	=>	autumn
autumu	=>	autumn
auturnn	=>	autumn
avenne	=>	avenue
aveuue	=>	avenue
awakc	=>	awake
awarc	=>	aware
awav	=>	away
babv	=>	baby
Eack	=>	Back
Kack	=>	Back
bakc	=>	bake
hake	=>	bake
han	=>	ban
bauk	=>	bank
har	=>	bar
barc	=>	bare
barrcl	=>	barrel
harrel	=>	barrel
basc	=>	base
hase	=>	base
hasic	=>	basic
basiu	=>	basin
basm	=>	basin
hasin	=>	basin
hasis	=>	basis
baskct	=>	basket
hasket	=>	basket
batb	=>	bath
batli	=>	bath
batbe	=>	bathe
bathc	=>	bathe
batlie	=>	bathe
hathe	=>	bathe
battlc	=>	battle
hattle	=>	battle
bav	=>	bay
bc	=>	be
Bc	=>	Be
Ee	=>	Be
Ke	=>	Be
heak	=>	beak
bcam	=>	beam
beain	=>	beam
bearn	=>	beam
heam	=>	beam
bcan	=>	bean
hean	=>	bean
bcar	=>	bear
bcard	=>	beard
bcast	=>	beast
heast	=>	beast
bcat	=>	beat
bcauty	=>	beauty
beanty	=>	beauty
beautv	=>	beauty
heauty	=>	beauty
hecause	=>	because
Bccausc	=>	Because
Becanse	=>	Because
Eecause	=>	Because
Kecause	=>	Because
Recause	=>	Because
bccomc	=>	become
becoine	=>	become
becorne	=>	become
hecome	=>	become
bcd	=>	bed
hed	=>	bed
bedroorn	=>	bedroom
heen	=>	been
bcforc	=>	before
hefore	=>	before
Bcforc	=>	Before
Bcfore	=>	Before
Beforc	=>	Before
Eefore	=>	Before
Kefore	=>	Before
Refore	=>	Before
heg	=>	beg
hegan	=>	began
bcgin	=>	begin
begiu	=>	begin
begm	=>	begin
hegin	=>	begin
Bcgin	=>	Begin
Bcgiu	=>	Begin
Begiu	=>	Begin
Begm	=>	Begin
Eegin	=>	Begin
bchavc	=>	behave
bebave	=>	behave
beliave	=>	behave
hehave	=>	behave
bchind	=>	behind
bebind	=>	behind
behiud	=>	behind
behmd	=>	behind
beliind	=>	behind
hehind	=>	behind
bcing	=>	being
beiug	=>	being
bemg	=>	being
heing	=>	being
bclicf	=>	belief
behef	=>	belief
helief	=>	belief
helieve	=>	believe
bcll	=>	bell
bclong	=>	belong
beloug	=>	belong
helong	=>	belong
bclow	=>	below
helow	=>	below
bclt	=>	belt
helt	=>	belt
bcnd	=>	bend
beud	=>	bend
hend	=>	bend
henefit	=>	benefit
bcrry	=>	berry
berrv	=>	berry
herry	=>	berry
bcsidc	=>	beside
heside	=>	beside
bcst	=>	best
hest	=>	best
bcttcr	=>	better
hetter	=>	better
hetween	=>	between
Bctwccn	=>	Between
Betweeu	=>	Between
Eetween	=>	Between
Ketween	=>	Between
Retween	=>	Between
bcyond	=>	beyond
becond	=>	beyond
bevond	=>	beyond
beyoud	=>	beyond
heyond	=>	beyond
hig	=>	big
Eill	=>	Bill
biud	=>	bind
bmd	=>	bind
hird	=>	bird
birtb	=>	birth
birtli	=>	birth
hirth	=>	birth
bitc	=>	bite
hite	=>	bite
bittcr	=>	bitter
hlack	=>	black
bladc	=>	blade
hlade	=>	blade
blaine	=>	blame
blamc	=>	blame
blarne	=>	blame
hlame	=>	blame
blccd	=>	bleed
hleed	=>	bleed
blcss	=>	bless
hless	=>	bless
bhnd	=>	blind
bliud	=>	blind
blmd	=>	blind
hlind	=>	blind
hlock	=>	block
hlood	=>	blood
bloodv	=>	bloody
hloody	=>	bloody
hlow	=>	blow
blne	=>	blue
bluc	=>	blue
hlue	=>	blue
hoast	=>	boast
hoat	=>	boat
bodv	=>	body
hody	=>	body
hoil	=>	boil
boue	=>	bone
bordcr	=>	border
horder	=>	border
horrow	=>	borrow
botb	=>	both
botli	=>	both
hoth	=>	both
Botb	=>	Both
Botli	=>	Both
Eoth	=>	Both
bottlc	=>	bottle
hottle	=>	bottle
bottoin	=>	bottom
bottorn	=>	bottom
hottom	=>	bottom
bonnd	=>	bound
bouud	=>	bound
hox	=>	box
bov	=>	boy
braiu	=>	brain
hrain	=>	brain
brancb	=>	branch
brancli	=>	branch
brauch	=>	branch
hranch	=>	branch
hrass	=>	brass
bravc	=>	brave
hrave	=>	brave
brcad	=>	bread
hread	=>	bread
brcak	=>	break
hreak	=>	break
brcath	=>	breath
breatb	=>	breath
breatli	=>	breath
hreath	=>	breath
bribc	=>	bribe
hrihe	=>	bribe
hrick	=>	brick
bridgc	=>	bridge
hridge	=>	bridge
bricf	=>	brief
hrief	=>	brief
brigbt	=>	bright
briglit	=>	bright
hright	=>	bright
briug	=>	bring
brmg	=>	bring
hring	=>	bring
hroad	=>	broad
browu	=>	brown
hrown	=>	brown
brnsh	=>	brush
brusb	=>	brush
brusli	=>	brush
hrush	=>	brush
bncket	=>	bucket
buckct	=>	bucket
hucket	=>	bucket
bndget	=>	budget
hudget	=>	budget
bnild	=>	build
huild	=>	build
bnilt	=>	built
bnnch	=>	bunch
buncb	=>	bunch
buncli	=>	bunch
buuch	=>	bunch
bnndle	=>	bundle
bundlc	=>	bundle
buudle	=>	bundle
hundle	=>	bundle
bnrn	=>	burn
buru	=>	burn
hurn	=>	burn
bnrst	=>	burst
hurst	=>	burst
bnry	=>	bury
burv	=>	bury
hury	=>	bury
bns	=>	bus
hus	=>	bus
bnsh	=>	bush
busb	=>	bush
busli	=>	bush
busiiicss	=>	business
bnsy	=>	busy
busv	=>	busy
husy	=>	busy
bnt	=>	but
Bnt	=>	But
Eut	=>	But
Kut	=>	But
bntter	=>	butter
buttcr	=>	butter
hutter	=>	butter
bntton	=>	button
buttou	=>	button
hutton	=>	button
bny	=>	buy
buv	=>	buy
huy	=>	buy
bv	=>	by
hy	=>	by
Bv	=>	By
Ey	=>	By
Ry	=>	By
cagc	=>	cage
cakc	=>	cake
calin	=>	calm
calrn	=>	calm
cainp	=>	camp
carnp	=>	camp
carnpaign	=>	campaign
cau	=>	can
Cau	=>	Can
caual	=>	canal
carc	=>	care
carccr	=>	career
carrv	=>	carry
casc	=>	case
casb	=>	cash
casli	=>	cash
castlc	=>	castle
catcb	=>	catch
catcli	=>	catch
cattlc	=>	cattle
canse	=>	cause
causc	=>	cause
cavc	=>	cave
ccnt	=>	cent
ceut	=>	cent
ccntcr	=>	center
ceuter	=>	center
ccntrc	=>	centre
ceutre	=>	centre
cerernony	=>	ceremony
cbain	=>	chain
chaiu	=>	chain
cliain	=>	chain
cbair	=>	chair
cliair	=>	chair
chairrnan	=>	chairman
cbalk	=>	chalk
clialk	=>	chalk
cbance	=>	chance
chancc	=>	chance
chauce	=>	chance
cliance	=>	chance
cbange	=>	change
changc	=>	change
chauge	=>	change
cliange	=>	change
Cbange	=>	Change
Changc	=>	Change
Chauge	=>	Change
Cliange	=>	Change
cbarge	=>	charge
chargc	=>	charge
cliarge	=>	charge
cbarm	=>	charm
charrn	=>	charm
cliarm	=>	charm
cbeap	=>	cheap
chcap	=>	cheap
clieap	=>	cheap
cbeat	=>	cheat
clieat	=>	cheat
cbeck	=>	check
chcck	=>	check
clieck	=>	check
cbeer	=>	cheer
clieer	=>	cheer
cbeese	=>	cheese
cbest	=>	chest
chcst	=>	chest
cliest	=>	chest
cbief	=>	chief
chicf	=>	chief
cliief	=>	chief
cbild	=>	child
cliild	=>	child
chirnney	=>	chimney
cboice	=>	choice
choicc	=>	choice
clioice	=>	choice
cboose	=>	choose
choosc	=>	choose
clioose	=>	choose
cburcb	=>	church
chnrch	=>	church
circlc	=>	circle
circurnstance	=>	circumstance
citv	=>	city
claiin	=>	claim
clairn	=>	claim
clav	=>	clay
clcan	=>	clean
cleau	=>	clean
clcar	=>	clear
clcvcr	=>	clever
chent	=>	client
clieut	=>	client
chff	=>	cliff
chmb	=>	climb
cliinb	=>	climb
climh	=>	climb
clirnb	=>	climb
closc	=>	close
Closc	=>	Close
clotb	=>	cloth
clotli	=>	cloth
clotbe	=>	clothe
clothc	=>	clothe
clotlie	=>	clothe
clond	=>	cloud
clnb	=>	club
cluh	=>	club
coarsc	=>	coarse
coffcc	=>	coffee
coiu	=>	coin
colonv	=>	colony
colouy	=>	colony
colonr	=>	colour
coinb	=>	comb
comh	=>	comb
cornb	=>	comb
cornbination	=>	combination
cornbine	=>	combine
coine	=>	come
corne	=>	come
Coine	=>	Come
Corne	=>	Come
cornfort	=>	comfort
corning	=>	coming
commou	=>	common
cornpanion	=>	companion
cornpanionship	=>	companionship
cornpany	=>	company
cornpare	=>	compare
cornparison	=>	comparison
cornpete	=>	compete
cornpetitor	=>	competitor
cornplain	=>	complain
cornplaint	=>	complaint
cornplete	=>	complete
cornpletely	=>	completely
cornpletion	=>	completion
cornplex	=>	complex
cornplicate	=>	complicate
cornplication	=>	complication
cornponent	=>	component
cornpose	=>	compose
cornposition	=>	composition
concem	=>	concern
concemed	=>	concerned
confirrn	=>	confirm
Considcr	=>	Consider
Cousider	=>	Consider
coppcr	=>	copper
copv	=>	copy
coru	=>	corn
corncr	=>	corner
coruer	=>	corner
cottou	=>	cotton
congh	=>	cough
cougb	=>	cough
cougli	=>	cough
conld	=>	could
Conld	=>	Could
couldnt	=>	couldn't
connt	=>	count
couut	=>	count
connty	=>	county
countv	=>	county
couuty	=>	county
conple	=>	couple
couplc	=>	couple
conrse	=>	course
coursc	=>	course
conrt	=>	court
consin	=>	cousin
cousiu	=>	cousin
covcr	=>	cover
crasb	=>	crash
crasli	=>	crash
crcam	=>	cream
creain	=>	cream
crearn	=>	cream
crcatc	=>	create
criine	=>	crime
crimc	=>	crime
crirne	=>	crime
crirninal	=>	criminal
criticisrn	=>	criticism
crowu	=>	crown
crnel	=>	cruel
crucl	=>	cruel
crnsh	=>	crush
crusb	=>	crush
crusli	=>	crush
crv	=>	cry
cnp	=>	cup
cnre	=>	cure
curc	=>	cure
cnrl	=>	curl
cnrse	=>	curse
cursc	=>	curse
cnrve	=>	curve
curvc	=>	curve
cnstom	=>	custom
custoin	=>	custom
custorn	=>	custom
custornary	=>	customary
custorner	=>	customer
cnt	=>	cut
dailv	=>	daily
dainage	=>	damage
damagc	=>	damage
darnage	=>	damage
dainp	=>	damp
darnp	=>	damp
dancc	=>	dance
dauce	=>	dance
dangcr	=>	danger
dauger	=>	danger
darc	=>	dare
darkcn	=>	darken
darkeu	=>	darken
datc	=>	date
dav	=>	day
davlight	=>	daylight
dc	=>	de
dcad	=>	dead
dcal	=>	deal
dcar	=>	dear
dcath	=>	death
deatb	=>	death
deatli	=>	death
dcbatc	=>	debate
dehate	=>	debate
dehates	=>	debates
dcbt	=>	debt
deht	=>	debt
dccadc	=>	decade
dccay	=>	decay
decav	=>	decay
dcccit	=>	deceit
dccidc	=>	decide
dccd	=>	deed
dccp	=>	deep
dccpcn	=>	deepen
deepeu	=>	deepen
dccr	=>	deer
dcfcat	=>	defeat
dcfcnd	=>	defend
defeud	=>	defend
dcfinc	=>	define
defiue	=>	define
defme	=>	define
dcgrcc	=>	degree
dclay	=>	delay
delav	=>	delay
dclivcred	=>	delivered
dcmand	=>	demand
deinand	=>	demand
demaud	=>	demand
dernand	=>	demand
dernocratic	=>	democratic
dernonstrate	=>	demonstrate
dcny	=>	deny
denv	=>	deny
deuy	=>	deny
departrnent	=>	department
dcpcnd	=>	depend
depeud	=>	depend
dcpth	=>	depth
deptb	=>	depth
deptli	=>	depth
dcputy	=>	deputy
depnty	=>	deputy
deputv	=>	deputy
dcrivc	=>	derive
dcscrt	=>	desert
dcsign	=>	design
desigu	=>	design
dcsirc	=>	desire
dcsk	=>	desk
dctail	=>	detail
deterrnine	=>	determine
developrnent	=>	development
dcvicc	=>	device
dcvil	=>	devil
diarnond	=>	diamond
didnt	=>	didn't
dic	=>	die
dinc	=>	dine
diue	=>	dine
dme	=>	dine
dinncr	=>	dinner
diuuer	=>	dinner
dmner	=>	dinner
dircct	=>	direct
discornfort	=>	discomfort
disb	=>	dish
disli	=>	dish
disrniss	=>	dismiss
ditcb	=>	ditch
ditcli	=>	ditch
divc	=>	dive
dividc	=>	divide
docurnent	=>	document
doesnt	=>	doesn't
dornestic	=>	domestic
donkev	=>	donkey
dont	=>	don't
donble	=>	double
doublc	=>	double
douhle	=>	double
donbt	=>	doubt
douht	=>	doubt
dowu	=>	down
Dowu	=>	Down
dozcn	=>	dozen
dozeu	=>	dozen
drawcr	=>	drawer
drcam	=>	dream
dreain	=>	dream
drearn	=>	dream
drcss	=>	dress
driuk	=>	drink
drmk	=>	drink
drivc	=>	drive
drivcr	=>	driver
drowu	=>	drown
drng	=>	drug
drnm	=>	drum
druin	=>	drum
drurn	=>	drum
drv	=>	dry
dnck	=>	duck
dne	=>	due
duc	=>	due
dnll	=>	dull
dnring	=>	during
duriug	=>	during
durmg	=>	during
Dnring	=>	During
Duriug	=>	During
Durmg	=>	During
dnst	=>	dust
dnty	=>	duty
dutv	=>	duty
cach	=>	each
eacb	=>	each
eacli	=>	each
Eacb	=>	Each
Eacli	=>	Each
cagcr	=>	eager
carly	=>	early
earlv	=>	early
Barly	=>	Early
Earlv	=>	Early
Rarly	=>	Early
carn	=>	earn
eam	=>	earn
earu	=>	earn
eamest	=>	earnest
carth	=>	earth
eartb	=>	earth
eartli	=>	earth
casc	=>	ease
casily	=>	easily
easilv	=>	easily
eastem	=>	eastern
casy	=>	easy
easv	=>	easy
econornic	=>	economic
econorny	=>	economy
cdgc	=>	edge
cffcct	=>	effect
cffort	=>	effort
cithcr	=>	either
cither	=>	either
eitber	=>	either
eitlier	=>	either
cldcr	=>	elder
clcct	=>	elect
elernent	=>	element
clsc	=>	else
cmcrgc	=>	emerge
einerge	=>	emerge
ernerge	=>	emerge
ernphasis	=>	emphasis
cmpirc	=>	empire
einpire	=>	empire
ernpire	=>	empire
cmploy	=>	employ
einploy	=>	employ
emplov	=>	employ
ernploy	=>	employ
cmpty	=>	empty
einpty	=>	empty
emptv	=>	empty
ernpty	=>	empty
cnablc	=>	enable
enahle	=>	enable
euable	=>	enable
cnd	=>	end
eud	=>	end
cncmy	=>	enemy
eneiny	=>	enemy
enemv	=>	enemy
enerny	=>	enemy
euemy	=>	enemy
energv	=>	energy
euergy	=>	energy
cnjoy	=>	enjoy
enjov	=>	enjoy
eujoy	=>	enjoy
cnough	=>	enough
enongh	=>	enough
enougb	=>	enough
enougli	=>	enough
euough	=>	enough
cnsurc	=>	ensure
ensnre	=>	ensure
eusure	=>	ensure
cntcr	=>	enter
euter	=>	enter
cntirc	=>	entire
eutire	=>	entire
cntry	=>	entry
entrv	=>	entry
eutry	=>	entry
environrnent	=>	environment
cnvy	=>	envy
envv	=>	envy
euvy	=>	envy
cqual	=>	equal
eqnal	=>	equal
equiprnent	=>	equipment
crror	=>	error
cscapc	=>	escape
establishrnent	=>	establishment
cstatc	=>	estate
estirnate	=>	estimate
cvcn	=>	even
eveu	=>	even
Bven	=>	Even
Evcn	=>	Even
Eveu	=>	Even
Kven	=>	Even
Rven	=>	Even
cvcnt	=>	event
eveut	=>	event
cvcr	=>	ever
cvcry	=>	every
everv	=>	every
cvil	=>	evil
cxact	=>	exact
exarnination	=>	examination
exarnine	=>	examine
exarnple	=>	example
cxccpt	=>	except
cxccss	=>	excess
cxcitc	=>	excite
cxcusc	=>	excuse
excnse	=>	excuse
cxist	=>	exist
cxpcct	=>	expect
experirnent	=>	experiment
cxpcrt	=>	expert
cxtcnd	=>	extend
exteud	=>	extend
cxtcnt	=>	extent
exteut	=>	extent
extemal	=>	external
cxtra	=>	extra
extrerne	=>	extreme
extrernely	=>	extremely
cyc	=>	eye
cycd	=>	eyed
facc	=>	face
fadc	=>	fade
faiut	=>	faint
famt	=>	faint
fairlv	=>	fairly
faitb	=>	faith
faitli	=>	faith
faine	=>	fame
famc	=>	fame
farne	=>	fame
farniliar	=>	familiar
fainily	=>	family
familv	=>	family
farnily	=>	family
fainous	=>	famous
famons	=>	famous
farnous	=>	famous
fau	=>	fan
fancv	=>	fancy
faucy	=>	fancy
farin	=>	farm
farrn	=>	farm
fariner	=>	farmer
farmcr	=>	farmer
farrner	=>	farmer
fastcn	=>	fasten
fasteu	=>	fasten
fatc	=>	fate
fatber	=>	father
fathcr	=>	father
fatlier	=>	father
fattcn	=>	fatten
fatteu	=>	fatten
fanlt	=>	fault
favonr	=>	favour
fcar	=>	fear
fcast	=>	feast
fcc	=>	fee
fccd	=>	feed
fccl	=>	feel
fcllow	=>	fellow
feinale	=>	female
fernale	=>	female
fcncc	=>	fence
feuce	=>	fence
fcvcr	=>	fever
fcw	=>	few
Fcw	=>	Few
ficld	=>	field
ficrcc	=>	fierce
figbt	=>	fight
figlit	=>	fight
fignre	=>	figure
figurc	=>	figure
filc	=>	file
filin	=>	film
fiual	=>	final
fmal	=>	final
filid	=>	find
fiud	=>	find
fmd	=>	find
finc	=>	fine
fiue	=>	fine
fme	=>	fine
fingcr	=>	finger
fiuger	=>	finger
fmger	=>	finger
finisb	=>	finish
finisli	=>	finish
fiuish	=>	finish
fmish	=>	finish
firc	=>	fire
firin	=>	firm
firrn	=>	firm
fisb	=>	fish
fisli	=>	fish
flaine	=>	flame
flamc	=>	flame
flarne	=>	flame
flasb	=>	flash
flasli	=>	flash
flesb	=>	flesh
flesli	=>	flesh
fhght	=>	flight
fligbt	=>	flight
fliglit	=>	flight
flonr	=>	flour
flv	=>	fly
focns	=>	focus
foud	=>	fond
forhid	=>	forbid
forcc	=>	force
forcst	=>	forest
forgct	=>	forget
forin	=>	form
forrn	=>	form
forinal	=>	formal
forrnal	=>	formal
foriner	=>	former
formcr	=>	former
forrner	=>	former
fortb	=>	forth
fortli	=>	forth
fraine	=>	frame
framc	=>	frame
frarne	=>	frame
frarnework	=>	framework
frcc	=>	free
freedorn	=>	freedom
frcczc	=>	freeze
frcsh	=>	fresh
fresb	=>	fresh
fresli	=>	fresh
freind	=>	friend
fricnd	=>	friend
frieud	=>	friend
frigbt	=>	fright
friglit	=>	fright
froin	=>	from
frorn	=>	from
Froin	=>	From
Frorn	=>	From
fromt	=>	front
frout	=>	front
frnit	=>	fruit
frv	=>	fry
fnel	=>	fuel
fucl	=>	fuel
fnll	=>	full
fnlly	=>	fully
fullv	=>	fully
fnn	=>	fun
fuu	=>	fun
fnnd	=>	fund
fuud	=>	fund
fnnny	=>	funny
funnv	=>	funny
fuuuy	=>	funny
fnr	=>	fur
fumish	=>	furnish
fumiture	=>	furniture
furtber	=>	further
fntnre	=>	future
futurc	=>	future
gaicty	=>	gaiety
gaietv	=>	gaiety
gaiu	=>	gain
gallou	=>	gallon
gaine	=>	game
gamc	=>	game
garne	=>	game
garagc	=>	garage
gardcn	=>	garden
gardeu	=>	garden
gatc	=>	gate
gatber	=>	gather
gathcr	=>	gather
gatlier	=>	gather
gav	=>	gay
gcntlc	=>	gentle
geutle	=>	gentle
gentlernan	=>	gentleman
gct	=>	get
givc	=>	give
Givc	=>	Give
glorv	=>	glory
goldcn	=>	golden
goldeu	=>	golden
govcrn	=>	govern
govem	=>	govern
goveru	=>	govern
govemment	=>	government
governrnent	=>	government
govemor	=>	governor
gracc	=>	grace
graiu	=>	grain
graud	=>	grand
graut	=>	grant
gravc	=>	grave
grav	=>	gray
grcasc	=>	grease
grcat	=>	great
Grcat	=>	Great
grccd	=>	greed
grccn	=>	green
greeu	=>	green
grcct	=>	greet
grcy	=>	grey
grev	=>	grey
griud	=>	grind
grmd	=>	grind
gronnd	=>	ground
grouud	=>	ground
gronp	=>	group
growtb	=>	growth
growtli	=>	growth
gnard	=>	guard
gness	=>	guess
gucss	=>	guess
gnest	=>	guest
gucst	=>	guest
gnide	=>	guide
guidc	=>	guide
gnilt	=>	guilt
gnn	=>	gun
guu	=>	gun
babit	=>	habit
hahit	=>	habit
liabit	=>	habit
l1ad	=>	had
bair	=>	hair
liair	=>	hair
balf	=>	half
lialf	=>	half
liall	=>	hall
haud	=>	hand
liand	=>	hand
bandle	=>	handle
handlc	=>	handle
haudle	=>	handle
liandle	=>	handle
haug	=>	hang
liang	=>	hang
bappen	=>	happen
happcn	=>	happen
happeu	=>	happen
liappen	=>	happen
bappy	=>	happy
happv	=>	happy
liappy	=>	happy
harhor	=>	harbor
liarbor	=>	harbor
liard	=>	hard
barden	=>	harden
hardcn	=>	harden
hardeu	=>	harden
liarden	=>	harden
bardly	=>	hardly
hardlv	=>	hardly
liardly	=>	hardly
barm	=>	harm
harin	=>	harm
harrn	=>	harm
liarm	=>	harm
bas	=>	has
lias	=>	has
hastc	=>	haste
liaste	=>	haste
basten	=>	hasten
hastcn	=>	hasten
hasteu	=>	hasten
liasten	=>	hasten
liat	=>	hat
hatc	=>	hate
liate	=>	hate
batred	=>	hatred
hatrcd	=>	hatred
liatred	=>	hatred
bave	=>	have
havc	=>	have
liave	=>	have
Havc	=>	Have
baving	=>	having
hav	=>	hay
hc	=>	he
Hc	=>	He
iie	=>	He
Ile	=>	He
hcad	=>	head
liead	=>	head
beal	=>	heal
hcal	=>	heal
lieal	=>	heal
bealtb	=>	health
hcalth	=>	health
beap	=>	heap
hcap	=>	heap
lieap	=>	heap
hcar	=>	hear
liear	=>	hear
beart	=>	heart
hcart	=>	heart
lieart	=>	heart
hcat	=>	heat
lieat	=>	heat
beaven	=>	heaven
hcavcn	=>	heaven
heaveu	=>	heaven
lieaven	=>	heaven
beavy	=>	heavy
hcavy	=>	heavy
heavv	=>	heavy
lieavy	=>	heavy
beigbt	=>	height
hcight	=>	height
beld	=>	held
hcll	=>	hell
licll	=>	hell
liell	=>	hell
bello	=>	hello
hcllo	=>	hello
liello	=>	hello
belp	=>	help
hclp	=>	help
lielp	=>	help
belped	=>	helped
bence	=>	hence
hcncc	=>	hence
heuce	=>	hence
lience	=>	hence
ber	=>	her
hcr	=>	her
bere	=>	here
hcrc	=>	here
liere	=>	here
hidc	=>	hide
liide	=>	hide
bigb	=>	high
liigli	=>	high
higber	=>	higher
bigbly	=>	highly
highlv	=>	highly
liill	=>	hill
bim	=>	him
hiii	=>	him
hiin	=>	him
hiln	=>	him
hin	=>	him
hirn	=>	him
liim	=>	him
ltim	=>	him
Ilim	=>	Him
hirnself	=>	himself
hindcr	=>	hinder
hiuder	=>	hinder
hmder	=>	hinder
liinder	=>	hinder
bire	=>	hire
hirc	=>	hire
liire	=>	hire
bis	=>	his
liis	=>	his
liit	=>	hit
liold	=>	hold
bole	=>	hole
holc	=>	hole
liole	=>	hole
bollow	=>	hollow
liollow	=>	hollow
boly	=>	holy
holv	=>	holy
lioly	=>	holy
bome	=>	home
hoine	=>	home
homc	=>	home
horne	=>	home
liome	=>	home
hornecorning	=>	homecoming
hornernade	=>	homemade
bomes	=>	homes
hornework	=>	homework
bonest	=>	honest
honcst	=>	honest
houest	=>	honest
lionest	=>	honest
bonor	=>	honor
houor	=>	honor
lionor	=>	honor
liook	=>	hook
bope	=>	hope
hopc	=>	hope
liope	=>	hope
borse	=>	horse
horsc	=>	horse
liorse	=>	horse
bost	=>	host
liost	=>	host
bot	=>	hot
liot	=>	hot
botel	=>	hotel
hotcl	=>	hotel
liotel	=>	hotel
bour	=>	hour
honr	=>	hour
liour	=>	hour
bouse	=>	house
honse	=>	house
housc	=>	house
liouse	=>	house
boused	=>	housed
bouses	=>	houses
liow	=>	how
iiow	=>	How
I-low	=>	How
bowever	=>	however
Howcvcr	=>	However
Howcver	=>	However
Howevcr	=>	However
buge	=>	huge
hnge	=>	huge
hugc	=>	huge
liuge	=>	huge
hnman	=>	human
huinan	=>	human
hurnan	=>	human
hnmble	=>	humble
huinble	=>	humble
humblc	=>	humble
humhle	=>	humble
hurnble	=>	humble
liumble	=>	humble
bunger	=>	hunger
hnnger	=>	hunger
hungcr	=>	hunger
huuger	=>	hunger
liunger	=>	hunger
hnnt	=>	hunt
huut	=>	hunt
liunt	=>	hunt
burry	=>	hurry
hnrry	=>	hurry
hurrv	=>	hurry
liurry	=>	hurry
burt	=>	hurt
hnrt	=>	hurt
liurt	=>	hurt
hnt	=>	hut
liut	=>	hut
icc	=>	ice
idca	=>	idea
idcal	=>	ideal
idlc	=>	idle
ignorc	=>	ignore
iguore	=>	ignore
iinage	=>	image
imagc	=>	image
irnage	=>	image
irnaginary	=>	imaginary
irnaginative	=>	imaginative
irnagine	=>	imagine
irnitate	=>	imitate
irnitation	=>	imitation
iinpact	=>	impact
irnpact	=>	impact
irnplication	=>	implication
iinply	=>	imply
implv	=>	imply
irnply	=>	imply
irnportance	=>	importance
irnportant	=>	important
iinpose	=>	impose
imposc	=>	impose
irnpose	=>	impose
irnpossible	=>	impossible
irnpression	=>	impression
irnprove	=>	improve
irnprovernent	=>	improvement
iii	=>	in
iu	=>	in
Iu	=>	In
incb	=>	inch
incli	=>	inch
iuch	=>	inch
mch	=>	inch
incoine	=>	income
incomc	=>	income
incorne	=>	income
iucome	=>	income
mcome	=>	income
indccd	=>	indeed
iudeed	=>	indeed
mdeed	=>	indeed
iudex	=>	index
mdex	=>	index
iudoor	=>	indoor
mdoor	=>	indoor
inforin	=>	inform
inforrn	=>	inform
iuform	=>	inform
mform	=>	inform
inforrnation	=>	information
injnry	=>	injury
injurv	=>	injury
iujury	=>	injury
mjury	=>	injury
iuk	=>	ink
mk	=>	ink
iuu	=>	inn
mn	=>	inn
msect	=>	insect
insidc	=>	inside
iuside	=>	inside
mside	=>	inside
iusist	=>	insist
msist	=>	insist
instrurnent	=>	instrument
insnlt	=>	insult
iusult	=>	insult
msult	=>	insult
insnre	=>	insure
insurc	=>	insure
iusure	=>	insure
msure	=>	insure
intcnd	=>	intend
iuteud	=>	intend
mtend	=>	intend
intemal	=>	internal
intemational	=>	international
iuto	=>	into
mto	=>	into
Iuto	=>	Into
iuveut	=>	invent
investrnent	=>	investment
invitc	=>	invite
iuvite	=>	invite
mvite	=>	invite
iuward	=>	inward
mward	=>	inward
irou	=>	iron
islaud	=>	island
issne	=>	issue
issuc	=>	issue
itcm	=>	item
itein	=>	item
itern	=>	item
itsclf	=>	itself
joh	=>	job
jobn	=>	john
joiu	=>	join
jom	=>	join
joiut	=>	joint
jomt	=>	joint
joumey	=>	journey
jov	=>	joy
jndge	=>	judge
judgc	=>	judge
jnmp	=>	jump
juinp	=>	jump
jurnp	=>	jump
jnst	=>	just
Jnst	=>	Just
kccp	=>	keep
Eeep	=>	Keep
Kccp	=>	Keep
Kcep	=>	Keep
Kecp	=>	Keep
Reep	=>	Keep
kcy	=>	key
kev	=>	key
kiud	=>	kind
kmd	=>	kind
kiug	=>	king
kmg	=>	king
kingdorn	=>	kingdom
kncc	=>	knee
kuee	=>	knee
knccl	=>	kneel
kueel	=>	kneel
knifc	=>	knife
kuife	=>	knife
kuock	=>	knock
kuot	=>	knot
kuow	=>	know
Bnow	=>	Know
Kuow	=>	Know
Rnow	=>	Know
labonr	=>	labour
lahour	=>	labour
ladv	=>	lady
lakc	=>	lake
lainp	=>	lamp
larnp	=>	lamp
largc	=>	large
latc	=>	late
latcly	=>	lately
latelv	=>	lately
latcr	=>	later
lattcr	=>	latter
langh	=>	laugh
laugb	=>	laugh
lannch	=>	launch
launcb	=>	launch
lauuch	=>	launch
lawver	=>	lawyer
lawycr	=>	lawyer
lav	=>	lay
lazv	=>	lazy
lcad	=>	lead
lcadcr	=>	leader
lcaf	=>	leaf
lcaguc	=>	league
leagne	=>	league
lcan	=>	lean
leau	=>	lean
lcarn	=>	learn
leam	=>	learn
learu	=>	learn
lcast	=>	least
lcavc	=>	leave
lcft	=>	left
lcg	=>	leg
lcgal	=>	legal
lcnd	=>	lend
leud	=>	lend
lcngth	=>	length
lengtb	=>	length
lengtli	=>	length
leugth	=>	length
lcss	=>	less
lcsscn	=>	lessen
lesseu	=>	lessen
lcsson	=>	lesson
lessou	=>	lesson
lcttcr	=>	letter
lcvcl	=>	level
hd	=>	lid
lic	=>	lie
hfe	=>	life
lifc	=>	life
hft	=>	lift
hght	=>	light
ligbt	=>	light
liglit	=>	light
hke	=>	like
likc	=>	like
Likc	=>	Like
hkely	=>	likely
likcly	=>	likely
likelv	=>	likely
hmb	=>	limb
liinb	=>	limb
limh	=>	limb
lirnb	=>	limb
hmit	=>	limit
liinit	=>	limit
lirnit	=>	limit
lirnited	=>	limited
hne	=>	line
linc	=>	line
liue	=>	line
lme	=>	line
hnk	=>	link
liuk	=>	link
lmk	=>	link
hp	=>	lip
hquid	=>	liquid
liqnid	=>	liquid
hst	=>	list
hsten	=>	listen
listcn	=>	listen
listeu	=>	listen
httle	=>	little
littlc	=>	little
Littlc	=>	Little
hve	=>	live
livc	=>	live
hving	=>	living
liviug	=>	living
livmg	=>	living
loau	=>	loan
localitv	=>	locality
lodgc	=>	lodge
loncly	=>	lonely
lonelv	=>	lonely
louely	=>	lonely
loug	=>	long
Loug	=>	Long
loosc	=>	loose
looscn	=>	loosen
looseu	=>	loosen
losc	=>	lose
lond	=>	loud
lovc	=>	love
lovcly	=>	lovely
lovelv	=>	lovely
loval	=>	loyal
lnck	=>	luck
lnmp	=>	lump
luinp	=>	lump
lurnp	=>	lump
lnnch	=>	lunch
luncb	=>	lunch
luncli	=>	lunch
luuch	=>	lunch
lnng	=>	lung
luug	=>	lung
rnachine	=>	machine
rnachinery	=>	machinery
inad	=>	mad
rnad	=>	mad
inadden	=>	madden
rnadden	=>	madden
rnagazine	=>	magazine
inail	=>	mail
rnail	=>	mail
inain	=>	main
maiu	=>	main
rnain	=>	main
inainly	=>	mainly
mainlv	=>	mainly
maiuly	=>	mainly
mamly	=>	mainly
rnainly	=>	mainly
rnaintain	=>	maintain
inajor	=>	major
rnajor	=>	major
rnajority	=>	majority
inake	=>	make
makc	=>	make
rnake	=>	make
Makc	=>	Make
malc	=>	male
rnale	=>	male
mau	=>	man
nian	=>	man
rnan	=>	man
inanage	=>	manage
managc	=>	manage
mauage	=>	manage
rnanage	=>	manage
rnaiiaged	=>	managed
rnanagernent	=>	management
rnanager	=>	manager
rnankind	=>	mankind
inanner	=>	manner
manncr	=>	manner
mauuer	=>	manner
rnanner	=>	manner
inany	=>	many
manv	=>	many
mauy	=>	many
rnany	=>	many
Manv	=>	Many
Mauy	=>	Many
inap	=>	map
rnap	=>	map
inarch	=>	march
marcb	=>	march
marcli	=>	march
rnarch	=>	march
inark	=>	mark
rnark	=>	mark
inarket	=>	market
markct	=>	market
rnarket	=>	market
rnarriage	=>	marriage
rnarried	=>	married
inarry	=>	marry
marrv	=>	marry
rnarry	=>	marry
inass	=>	mass
rnass	=>	mass
inaster	=>	master
mastcr	=>	master
rnaster	=>	master
inat	=>	mat
rnat	=>	mat
inatch	=>	match
matcb	=>	match
matcli	=>	match
rnatch	=>	match
rnaterial	=>	material
inatter	=>	matter
mattcr	=>	matter
rnatter	=>	matter
inay	=>	may
mav	=>	may
rnay	=>	may
Mav	=>	May
inaybe	=>	maybe
mavbe	=>	maybe
maybc	=>	maybe
mayhe	=>	maybe
rnaybe	=>	maybe
iiie	=>	me
ine	=>	me
mc	=>	me
rne	=>	me
Nte	=>	Me
ineal	=>	meal
mcal	=>	meal
rneal	=>	meal
inean	=>	mean
mcan	=>	mean
meau	=>	mean
rnean	=>	mean
rneaning	=>	meaning
ineans	=>	means
mcans	=>	means
meaus	=>	means
rneans	=>	means
rneantirne	=>	meantime
meanwbile	=>	meanwhile
rneanwhile	=>	meanwhile
rneasure	=>	measure
ineat	=>	meat
mcat	=>	meat
rneat	=>	meat
rnechanisrn	=>	mechanism
rnedical	=>	medical
rnedicine	=>	medicine
ineet	=>	meet
mcct	=>	meet
rneet	=>	meet
rneeting	=>	meeting
inelt	=>	melt
mclt	=>	melt
rnelt	=>	melt
mcmbcr	=>	member
memher	=>	member
rnernber	=>	member
memhers	=>	members
rnernbership	=>	membership
mcmory	=>	memory
memorv	=>	memory
rnernory	=>	memory
inend	=>	mend
mcnd	=>	mend
meud	=>	mend
rnend	=>	mend
inental	=>	mental
mcntal	=>	mental
meutal	=>	mental
rnental	=>	mental
rnention	=>	mention
rnerchant	=>	merchant
inercy	=>	mercy
mcrcy	=>	mercy
mercv	=>	mercy
rnercy	=>	mercy
inere	=>	mere
mcrc	=>	mere
rnere	=>	mere
inerely	=>	merely
mcrcly	=>	merely
merelv	=>	merely
rnerely	=>	merely
inerry	=>	merry
mcrry	=>	merry
merrv	=>	merry
rnerry	=>	merry
rnessage	=>	message
rnessenger	=>	messenger
inetal	=>	metal
mctal	=>	metal
rnetal	=>	metal
inethod	=>	method
mcthod	=>	method
metbod	=>	method
metliod	=>	method
rnethod	=>	method
iniddle	=>	middle
middlc	=>	middle
rniddle	=>	middle
inight	=>	might
migbt	=>	might
miglit	=>	might
rnight	=>	might
Migbt	=>	Might
Miglit	=>	Might
inild	=>	mild
rnild	=>	mild
inile	=>	mile
milc	=>	mile
rnile	=>	mile
rnilitary	=>	military
inilk	=>	milk
rnilk	=>	milk
inill	=>	mill
rnill	=>	mill
inind	=>	mind
miud	=>	mind
mmd	=>	mind
rnind	=>	mind
inine	=>	mine
minc	=>	mine
miue	=>	mine
mme	=>	mine
rnine	=>	mine
rnineral	=>	mineral
rninister	=>	minister
rninistry	=>	ministry
ininute	=>	minute
minnte	=>	minute
minutc	=>	minute
miuute	=>	minute
mmute	=>	minute
rninute	=>	minute
rninutes	=>	minutes
rniserable	=>	miserable
inisery	=>	misery
miscry	=>	misery
miserv	=>	misery
rnisery	=>	misery
iniss	=>	miss
rniss	=>	miss
rnistake	=>	mistake
inix	=>	mix
rnix	=>	mix
rnixture	=>	mixture
inodel	=>	model
modcl	=>	model
rnodel	=>	model
rnoderate	=>	moderate
rnoderation	=>	moderation
inodern	=>	modern
modcrn	=>	modern
modem	=>	modern
moderu	=>	modern
rnodern	=>	modern
inodest	=>	modest
modcst	=>	modest
rnodest	=>	modest
rnodesty	=>	modesty
inodule	=>	module
modnle	=>	module
modulc	=>	module
rnodule	=>	module
momcnt	=>	moment
momeut	=>	moment
rnornent	=>	moment
rnornentary	=>	momentary
inoney	=>	money
moncy	=>	money
monev	=>	money
mouey	=>	money
rnoney	=>	money
monkev	=>	monkey
rnonkey	=>	monkey
inonth	=>	month
montb	=>	month
montli	=>	month
rnonth	=>	month
inoon	=>	moon
moou	=>	moon
rnoon	=>	moon
rnoonlight	=>	moonlight
inoral	=>	moral
rnoral	=>	moral
inore	=>	more
morc	=>	more
rnore	=>	more
Morc	=>	More
rnoreover	=>	moreover
moming	=>	morning
rnorning	=>	morning
inost	=>	most
rnost	=>	most
inother	=>	mother
motber	=>	mother
mothcr	=>	mother
motlier	=>	mother
rnother	=>	mother
rnotherhood	=>	motherhood
rnotherly	=>	motherly
inotion	=>	motion
motiou	=>	motion
rnotion	=>	motion
inotor	=>	motor
rnountain	=>	mountain
inouse	=>	mouse
monse	=>	mouse
mousc	=>	mouse
rnouse	=>	mouse
inouth	=>	mouth
moutb	=>	mouth
moutli	=>	mouth
rnouth	=>	mouth
inove	=>	move
movc	=>	move
rnove	=>	move
Movc	=>	Move
rnovernent	=>	movement
inuch	=>	much
mnch	=>	much
mucb	=>	much
mucli	=>	much
rnuch	=>	much
Mncb	=>	Much
Mnch	=>	Much
Mucb	=>	Much
Mucli	=>	Much
inud	=>	mud
mnd	=>	mud
rnud	=>	mud
rnultiply	=>	multiply
inurder	=>	murder
mnrder	=>	murder
murdcr	=>	murder
rnurder	=>	murder
mnsenm	=>	museum
rnuseurn	=>	museum
inusic	=>	music
mnsic	=>	music
rnusic	=>	music
rnusician	=>	musician
inust	=>	must
mnst	=>	must
rnust	=>	must
iny	=>	my
mv	=>	my
rny	=>	my
A-Iy	=>	My
lIy	=>	My
inyself	=>	myself
mvself	=>	myself
mysclf	=>	myself
nlyself	=>	myself
rnyself	=>	myself
rnystery	=>	mystery
uail	=>	nail
naine	=>	name
namc	=>	name
narne	=>	name
uame	=>	name
uarrow	=>	narrow
uatiou	=>	nation
nativc	=>	native
uative	=>	native
natnre	=>	nature
naturc	=>	nature
uature	=>	nature
ncar	=>	near
uear	=>	near
ncarly	=>	nearly
nearlv	=>	nearly
uearly	=>	nearly
ncat	=>	neat
ueat	=>	neat
ncck	=>	neck
ueck	=>	neck
nccd	=>	need
ueed	=>	need
ueedle	=>	needle
neitber	=>	neither
ncphcw	=>	nephew
nepbew	=>	nephew
uephew	=>	nephew
ncst	=>	nest
uest	=>	nest
nct	=>	net
uet	=>	net
ncvcr	=>	never
uever	=>	never
Ncvcr	=>	Never
Ncver	=>	Never
Nevcr	=>	Never
ncw	=>	new
uew	=>	new
ncws	=>	news
uews	=>	news
ncxt	=>	next
uext	=>	next
nicc	=>	nice
uice	=>	nice
niccc	=>	niece
uiece	=>	niece
nigbt	=>	night
niglit	=>	night
uight	=>	night
noblc	=>	noble
nohle	=>	noble
uoble	=>	noble
nobodv	=>	nobody
nohody	=>	nobody
uobody	=>	nobody
nc	=>	no
uod	=>	nod
noisc	=>	noise
uoise	=>	noise
nonc	=>	none
uoue	=>	none
uoou	=>	noon
uor	=>	nor
norinal	=>	normal
norrnal	=>	normal
uormal	=>	normal
norrnally	=>	normally
nortb	=>	north
nortli	=>	north
uorth	=>	north
nortbern	=>	northern
northem	=>	northern
nosc	=>	nose
uose	=>	nose
uot	=>	not
notc	=>	note
uote	=>	note
notbing	=>	nothing
noticc	=>	notice
uotice	=>	notice
uotiou	=>	notion
uow	=>	now
nnmber	=>	number
nuinber	=>	number
numbcr	=>	number
numher	=>	number
nurnber	=>	number
uumber	=>	number
numhers	=>	numbers
nurnerous	=>	numerous
nnrse	=>	nurse
nursc	=>	nurse
uurse	=>	nurse
nnt	=>	nut
uut	=>	nut
obcy	=>	obey
obev	=>	obey
ohey	=>	obey
objcct	=>	object
ohject	=>	object
obtaiu	=>	obtain
obtam	=>	obtain
ohtain	=>	obtain
occnr	=>	occur
occan	=>	ocean
oceau	=>	ocean
cf	=>	of
offcnd	=>	offend
offeud	=>	offend
offcr	=>	offer
officc	=>	office
oftcn	=>	often
ofteu	=>	often
okav	=>	okay
ornission	=>	omission
oinit	=>	omit
ornit	=>	omit
om	=>	on
oncc	=>	once
ouce	=>	once
Oncc	=>	Once
Oucc	=>	Once
Ouce	=>	Once
onc	=>	one
oue	=>	one
Onc	=>	One
Oue	=>	One
onlv	=>	only
ouly	=>	only
Onlv	=>	Only
Oulv	=>	Only
Ouly	=>	Only
outo	=>	onto
opcn	=>	open
opeu	=>	open
Opcn	=>	Open
Opeu	=>	Open
opposc	=>	oppose
optiou	=>	option
ordcr	=>	order
orgau	=>	organ
origiu	=>	origin
origm	=>	origin
omament	=>	ornament
ornarnent	=>	ornament
otber	=>	other
othcr	=>	other
otlier	=>	other
Otber	=>	Other
Othcr	=>	Other
Otlier	=>	Other
otbers	=>	others
onght	=>	ought
ougbt	=>	ought
ouglit	=>	ought
onnce	=>	ounce
ouncc	=>	ounce
ouuce	=>	ounce
onr	=>	our
ont	=>	out
Ont	=>	Out
outcorne	=>	outcome
ontpnt	=>	output
cver	=>	over
ovcr	=>	over
Ovcr	=>	Over
overcorne	=>	overcome
owc	=>	owe
owu	=>	own
owncr	=>	owner
owuer	=>	owner
pagc	=>	page
paiu	=>	pain
paiut	=>	paint
pamt	=>	paint
palc	=>	pale
pau	=>	pan
pancl	=>	panel
pauel	=>	panel
papcr	=>	paper
parccl	=>	parcel
pardou	=>	pardon
parcnt	=>	parent
pareut	=>	parent
parliarnent	=>	parliament
partlv	=>	partly
partv	=>	party
pastc	=>	paste
pastrv	=>	pastry
patb	=>	path
patli	=>	path
pattem	=>	pattern
panse	=>	pause
pausc	=>	pause
pav	=>	pay
payrnent	=>	payment
pcacc	=>	peace
pcarl	=>	pearl
pcn	=>	pen
peu	=>	pen
pcncil	=>	pencil
peucil	=>	pencil
pcnny	=>	penny
pennv	=>	penny
peuuy	=>	penny
pcoplc	=>	people
Pcoplc	=>	People
Pcople	=>	People
Peoplc	=>	People
pcr	=>	per
perforrn	=>	perform
perforrnance	=>	performance
perbaps	=>	perhaps
pcriod	=>	period
perrnanent	=>	permanent
perrnission	=>	permission
pcrmit	=>	permit
perinit	=>	permit
perrnit	=>	permit
pcrson	=>	person
persou	=>	person
pct	=>	pet
pbase	=>	phase
phasc	=>	phase
pliase	=>	phase
pbone	=>	phone
phonc	=>	phone
piccc	=>	piece
pigcon	=>	pigeon
pilc	=>	pile
piu	=>	pin
pincb	=>	pinch
pincli	=>	pinch
piuch	=>	pinch
pmch	=>	pinch
piuk	=>	pink
pmk	=>	pink
piut	=>	pint
pmt	=>	pint
pipc	=>	pipe
pitv	=>	pity
placc	=>	place
plaiu	=>	plain
plam	=>	plain
plau	=>	plan
plaut	=>	plant
platc	=>	plate
plav	=>	play
plaver	=>	player
playcr	=>	player
plcasc	=>	please
plcnty	=>	plenty
plentv	=>	plenty
pleuty	=>	plenty
plnral	=>	plural
plns	=>	plus
pockct	=>	pocket
pocm	=>	poem
poein	=>	poem
poern	=>	poem
poct	=>	poet
poiut	=>	point
pomt	=>	point
poisou	=>	poison
policc	=>	police
policv	=>	policy
polisb	=>	polish
pohte	=>	polite
politc	=>	polite
ponnd	=>	pound
pouud	=>	pound
ponr	=>	pour
powdcr	=>	powder
powcr	=>	power
praisc	=>	praise
prav	=>	pray
prcach	=>	preach
preacb	=>	preach
preacli	=>	preach
prcfcr	=>	prefer
prcss	=>	press
prctty	=>	pretty
prettv	=>	pretty
pricc	=>	price
pridc	=>	pride
pricst	=>	priest
prirnary	=>	primary
priine	=>	prime
primc	=>	prime
prirne	=>	prime
priut	=>	print
prmt	=>	print
prisou	=>	prison
prizc	=>	prize
problern	=>	problem
prohlem	=>	problem
prohlems	=>	problems
prornise	=>	promise
prornised	=>	promised
prornote	=>	promote
proinpt	=>	prompt
prornpt	=>	prompt
propcr	=>	proper
prond	=>	proud
provc	=>	prove
pnb	=>	pub
puh	=>	pub
pnblic	=>	public
pubhc	=>	public
puhlic	=>	public
pnll	=>	pull
pnmp	=>	pump
puinp	=>	pump
purnp	=>	pump
pnnish	=>	punish
punisb	=>	punish
punisli	=>	punish
puuish	=>	punish
pnpil	=>	pupil
pnre	=>	pure
purc	=>	pure
pnrple	=>	purple
purplc	=>	purple
pnsh	=>	push
pusb	=>	push
pusli	=>	push
pnt	=>	put
Pnt	=>	Put
pnzzle	=>	puzzle
qnart	=>	quart
quc	=>	que
Quc	=>	Que
qneen	=>	queen
quccn	=>	queen
queeu	=>	queen
qnick	=>	quick
qniet	=>	quiet
qttict	=>	quiet
quict	=>	quiet
qnite	=>	quite
quitc	=>	quite
rahhit	=>	rabbit
racc	=>	race
raiu	=>	rain
raisc	=>	raise
rangc	=>	range
rauge	=>	range
rauk	=>	rank
rarc	=>	rare
ratc	=>	rate
ratber	=>	rather
rathcr	=>	rather
ratlier	=>	rather
rav	=>	ray
rcach	=>	reach
reacb	=>	reach
reacli	=>	reach
rcad	=>	read
rcadcr	=>	reader
rcady	=>	ready
readv	=>	ready
rcal	=>	real
rcally	=>	really
reallv	=>	really
rcason	=>	reason
reasou	=>	reason
rccall	=>	recall
rcccnt	=>	recent
receut	=>	recent
rccord	=>	record
rcd	=>	red
rcddcn	=>	redden
reddeu	=>	redden
rcducc	=>	reduce
rednce	=>	reduce
rcfcr	=>	refer
rcform	=>	reform
reforin	=>	reform
reforrn	=>	reform
rcfusc	=>	refuse
refnse	=>	refuse
rcgard	=>	regard
rcgion	=>	region
regiou	=>	region
rcgrct	=>	regret
rcjcct	=>	reject
rclatc	=>	relate
rclicf	=>	relief
rehef	=>	relief
rcly	=>	rely
relv	=>	rely
rcmain	=>	remain
reinain	=>	remain
remaiu	=>	remain
remam	=>	remain
rernain	=>	remain
rcmark	=>	remark
reinark	=>	remark
rernark	=>	remark
rcmcdy	=>	remedy
reinedy	=>	remedy
remedv	=>	remedy
rernedy	=>	remedy
rernernber	=>	remember
remcrnbered	=>	remembered
rcmind	=>	remind
reinind	=>	remind
remiud	=>	remind
remmd	=>	remind
rernind	=>	remind
renlincled	=>	reminded
rcmovc	=>	remove
reinove	=>	remove
rernove	=>	remove
rcnt	=>	rent
reut	=>	rent
rcpair	=>	repair
rcpcat	=>	repeat
rcply	=>	reply
replv	=>	reply
rcport	=>	report
requirernent	=>	requirement
rcscuc	=>	rescue
rescne	=>	rescue
rcsign	=>	resign
resigu	=>	resign
rcsist	=>	resist
rcst	=>	rest
rcsult	=>	result
resnlt	=>	result
rctain	=>	retain
retaiu	=>	retain
retam	=>	retain
rctirc	=>	retire
rcturn	=>	return
retnrn	=>	return
retum	=>	return
returu	=>	return
rcvcal	=>	reveal
rcvicw	=>	review
rcward	=>	reward
ribbou	=>	ribbon
rihhon	=>	ribbon
ricc	=>	rice
ricb	=>	rich
ricli	=>	rich
ridc	=>	ride
rigbt	=>	right
riglit	=>	right
Rigbt	=>	Right
Riglit	=>	Right
riug	=>	ring
rmg	=>	ring
ripc	=>	ripe
ripcn	=>	ripen
ripeu	=>	ripen
risc	=>	rise
rivcr	=>	river
roh	=>	rob
Eobert	=>	Robert
rolc	=>	role
Eome	=>	Rome
Kome	=>	Rome
rooin	=>	room
roorn	=>	room
ropc	=>	rope
rottcn	=>	rotten
rotteu	=>	rotten
rongh	=>	rough
rougb	=>	rough
rougli	=>	rough
ronnd	=>	round
rouud	=>	round
ronte	=>	route
routc	=>	route
roval	=>	royal
rnb	=>	rub
ruh	=>	rub
rnbber	=>	rubber
rubbcr	=>	rubber
ruhher	=>	rubber
rnde	=>	rude
rudc	=>	rude
rng	=>	rug
rnin	=>	ruin
ruiu	=>	ruin
rnle	=>	rule
rulc	=>	rule
rnn	=>	run
ruu	=>	run
rnral	=>	rural
rnsh	=>	rush
rusb	=>	rush
rusli	=>	rush
rnst	=>	rust
sacrcd	=>	sacred
saddcn	=>	sadden
saddeu	=>	sadden
saddlc	=>	saddle
safc	=>	safe
safcty	=>	safety
safetv	=>	safety
sakc	=>	sake
salarv	=>	salary
salc	=>	sale
salesrnan	=>	salesman
saine	=>	same
samc	=>	same
sarne	=>	same
sainple	=>	sample
samplc	=>	sample
sarnple	=>	sample
saud	=>	sand
sance	=>	sauce
saucc	=>	sauce
sancer	=>	saucer
sauccr	=>	saucer
savc	=>	save
sav	=>	say
scalc	=>	scale
scarcc	=>	scarce
sccnc	=>	scene
sceue	=>	scene
sccnt	=>	scent
sceut	=>	scent
scbeme	=>	scheme
schcmc	=>	scheme
scheine	=>	scheme
scherne	=>	scheme
scbool	=>	school
scliool	=>	school
scbools	=>	schools
scorc	=>	score
scom	=>	scorn
scoru	=>	scorn
scrapc	=>	scrape
scrccn	=>	screen
screeu	=>	screen
scrcw	=>	screw
sca	=>	sea
scarch	=>	search
searcb	=>	search
searcli	=>	search
scason	=>	season
seasou	=>	season
sccond	=>	second
secoud	=>	second
sccrct	=>	secret
sccurc	=>	secure
secnre	=>	secure
scc	=>	see
Scc	=>	See
Sce	=>	See
sccd	=>	seed
scck	=>	seek
sccm	=>	seem
seein	=>	seem
seern	=>	seem
scizc	=>	seize
scldom	=>	seldom
seldoin	=>	seldom
seldorn	=>	seldom
sclcct	=>	select
sclf	=>	self
scll	=>	sell
scnd	=>	send
seud	=>	send
scnior	=>	senior
seuior	=>	senior
scnsc	=>	sense
seuse	=>	sense
scrics	=>	series
scrvc	=>	serve
sct	=>	set
Sct	=>	Set
scttlc	=>	settle
settlernent	=>	settlement
scvcrc	=>	severe
scw	=>	sew
sbade	=>	shade
shadc	=>	shade
sliade	=>	shade
sbadow	=>	shadow
sbake	=>	shake
shakc	=>	shake
sliake	=>	shake
sball	=>	shall
sliall	=>	shall
sbame	=>	shame
shaine	=>	shame
shamc	=>	shame
sharne	=>	shame
sliame	=>	shame
sbape	=>	shape
shapc	=>	shape
sliape	=>	shape
sbare	=>	share
sharc	=>	share
sliare	=>	share
sbarp	=>	sharp
sliarp	=>	sharp
sbave	=>	shave
shavc	=>	shave
sbe	=>	she
shc	=>	she
slie	=>	she
Sbc	=>	She
Sbe	=>	She
Shc	=>	She
Slie	=>	She
sbeep	=>	sheep
sbeet	=>	sheet
shcct	=>	sheet
slieet	=>	sheet
sbelf	=>	shelf
shclf	=>	shelf
slielf	=>	shelf
sbell	=>	shell
shcll	=>	shell
sliell	=>	shell
sbield	=>	shield
shicld	=>	shield
sliield	=>	shield
sbine	=>	shine
shinc	=>	shine
shiue	=>	shine
shme	=>	shine
sliine	=>	shine
sbip	=>	ship
sliip	=>	ship
sbirt	=>	shirt
sliirt	=>	shirt
sbock	=>	shock
sboe	=>	shoe
shoc	=>	shoe
slioe	=>	shoe
sboot	=>	shoot
slioot	=>	shoot
sbop	=>	shop
sliop	=>	shop
sbore	=>	shore
shorc	=>	shore
sliore	=>	shore
sbort	=>	short
sliort	=>	short
sbot	=>	shot
sliot	=>	shot
sbould	=>	should
shonld	=>	should
sliould	=>	should
Sbonld	=>	Should
Sbould	=>	Should
Shonld	=>	Should
Slionld	=>	Should
Sliould	=>	Should
shouldnt	=>	shouldn't
sbout	=>	shout
shont	=>	shout
sliout	=>	shout
sbow	=>	show
sliow	=>	show
Sbow	=>	Show
Sliow	=>	Show
sbower	=>	shower
showcr	=>	shower
sbut	=>	shut
shnt	=>	shut
sliut	=>	shut
sidc	=>	side
sigbt	=>	sight
siglit	=>	sight
sigu	=>	sign
sigual	=>	signal
silcnt	=>	silent
sileut	=>	silent
silvcr	=>	silver
sirnilar	=>	similar
siinple	=>	simple
simplc	=>	simple
sirnple	=>	simple
sirnplicity	=>	simplicity
siinply	=>	simply
simplv	=>	simply
sirnply	=>	simply
sincc	=>	since
siuce	=>	since
smce	=>	since
Sincc	=>	Since
Siuce	=>	Since
Smce	=>	Since
siug	=>	sing
smg	=>	sing
singlc	=>	single
siugle	=>	single
smgle	=>	single
siuk	=>	sink
smk	=>	sink
sistcr	=>	sister
sitc	=>	site
sizc	=>	size
skiu	=>	skin
skm	=>	skin
skv	=>	sky
slavc	=>	slave
slccp	=>	sleep
shde	=>	slide
slidc	=>	slide
shght	=>	slight
sligbt	=>	slight
sliglit	=>	slight
slopc	=>	slope
slowlv	=>	slowly
sinall	=>	small
srnall	=>	small
Sinall	=>	Small
Srnall	=>	Small
sinell	=>	smell
smcll	=>	smell
srnell	=>	smell
sinile	=>	smile
smilc	=>	smile
srnile	=>	smile
sinoke	=>	smoke
smokc	=>	smoke
srnoke	=>	smoke
sinooth	=>	smooth
smootb	=>	smooth
smootli	=>	smooth
srnooth	=>	smooth
snakc	=>	snake
suake	=>	snake
suow	=>	snow
softcn	=>	soften
softeu	=>	soften
solcmn	=>	solemn
soleinn	=>	solemn
solemu	=>	solemn
solernn	=>	solemn
sohd	=>	solid
solvc	=>	solve
soine	=>	some
somc	=>	some
sorne	=>	some
Soine	=>	Some
Somc	=>	Some
Sorne	=>	Some
sornebody	=>	somebody
sornehow	=>	somehow
sorneone	=>	someone
somcthing	=>	something
sometbing	=>	something
sornething	=>	something
sornetirne	=>	sometime
sornetirnes	=>	sometimes
sornewhat	=>	somewhat
sornewhere	=>	somewhere
sou	=>	son
soug	=>	song
soou	=>	soon
sorc	=>	sore
sorrv	=>	sorry
sonl	=>	soul
sonnd	=>	sound
souud	=>	sound
sonp	=>	soup
sonr	=>	sour
sonrce	=>	source
sourcc	=>	source
sonth	=>	south
soutb	=>	south
soutli	=>	south
southem	=>	southern
spacc	=>	space
spadc	=>	spade
sparc	=>	spare
spcak	=>	speak
spccch	=>	speech
speecb	=>	speech
speecli	=>	speech
spccd	=>	speed
spcll	=>	spell
spcnd	=>	spend
speud	=>	spend
spiu	=>	spin
spm	=>	spin
spitc	=>	spite
spht	=>	split
spoou	=>	spoon
sprcad	=>	spread
spriug	=>	spring
sprmg	=>	spring
sqnare	=>	square
squarc	=>	square
stagc	=>	stage
staiu	=>	stain
stainp	=>	stamp
starnp	=>	stamp
staud	=>	stand
Staud	=>	Stand
statc	=>	state
staternent	=>	statement
statns	=>	status
stav	=>	stay
stcady	=>	steady
steadv	=>	steady
stcal	=>	steal
stcam	=>	steam
steain	=>	steam
stearn	=>	steam
stccl	=>	steel
stccp	=>	steep
stccr	=>	steer
stcm	=>	stem
stcp	=>	step
stiug	=>	sting
stmg	=>	sting
stornach	=>	stomach
stonc	=>	stone
stoue	=>	stone
storc	=>	store
storin	=>	storm
storrn	=>	storm
storv	=>	story
stovc	=>	stove
strcam	=>	stream
streain	=>	stream
strearn	=>	stream
strcct	=>	street
strikc	=>	strike
striug	=>	string
strmg	=>	string
stripc	=>	stripe
strokc	=>	stroke
stroug	=>	strong
stndio	=>	studio
stndy	=>	study
studv	=>	study
stnff	=>	stuff
stnpid	=>	stupid
stvle	=>	style
stylc	=>	style
snch	=>	such
sucb	=>	such
sucli	=>	such
Snch	=>	Such
Sucb	=>	Such
Sucli	=>	Such
sndden	=>	sudden
suddcn	=>	sudden
suddeu	=>	sudden
snffer	=>	suffer
suffcr	=>	suffer
sngar	=>	sugar
snit	=>	suit
snm	=>	sum
suin	=>	sum
surn	=>	sum
snmmer	=>	summer
summcr	=>	summer
surnrner	=>	summer
snn	=>	sun
suu	=>	sun
snpper	=>	supper
suppcr	=>	supper
snpply	=>	supply
supplv	=>	supply
snre	=>	sure
surc	=>	sure
snrely	=>	surely
surcly	=>	surely
surelv	=>	surely
snrvey	=>	survey
survcy	=>	survey
survev	=>	survey
swcar	=>	swear
swcat	=>	sweat
swccp	=>	sweep
swcct	=>	sweet
swcll	=>	swell
swiin	=>	swim
swirn	=>	swim
swiug	=>	swing
swmg	=>	swing
switcb	=>	switch
switcli	=>	switch
syrnpathetic	=>	sympathetic
syrnpathy	=>	sympathy
svstem	=>	system
systcm	=>	system
systein	=>	system
systern	=>	system
tablc	=>	table
tahle	=>	table
takc	=>	take
Takc	=>	Take
taine	=>	tame
tamc	=>	tame
tarne	=>	tame
tapc	=>	tape
targct	=>	target
tastc	=>	taste
tca	=>	tea
tcach	=>	teach
teacb	=>	teach
teacli	=>	teach
tcam	=>	team
teain	=>	team
tearn	=>	team
tcar	=>	tear
tcaring	=>	tearing
tcll	=>	tell
tcmpcr	=>	temper
teinper	=>	temper
ternper	=>	temper
ternperature	=>	temperature
tcmplc	=>	temple
teinple	=>	temple
ternple	=>	temple
tcmpt	=>	tempt
teinpt	=>	tempt
ternpt	=>	tempt
tcnd	=>	tend
teud	=>	tend
tcndcr	=>	tender
teuder	=>	tender
tcnding	=>	tending
tcnt	=>	tent
teut	=>	tent
tcrm	=>	term
terin	=>	term
terrn	=>	term
tcrms	=>	terms
terins	=>	terms
terrns	=>	terms
tcst	=>	test
tcxt	=>	text
tban	=>	than
thau	=>	than
tlian	=>	than
tbank	=>	thank
thauk	=>	thank
tliank	=>	thank
tbanks	=>	thanks
thauks	=>	thanks
tlianks	=>	thanks
tbat	=>	that
tliat	=>	that
Tbat	=>	That
Tliat	=>	That
t11e	=>	the
tbe	=>	the
thc	=>	the
tlie	=>	the
Tbe	=>	The
Tlie	=>	The
tbeir	=>	their
thcir	=>	their
tlieir	=>	their
tbem	=>	them
thcm	=>	them
thein	=>	them
thern	=>	them
tliem	=>	them
tbeme	=>	theme
thcmc	=>	theme
theine	=>	theme
therne	=>	theme
thernselves	=>	themselves
tben	=>	then
thcn	=>	then
theu	=>	then
tlien	=>	then
Tben	=>	Then
Thcn	=>	Then
Tlien	=>	Then
tbeory	=>	theory
thcory	=>	theory
theorv	=>	theory
tbere	=>	there
thcrc	=>	there
tliere	=>	there
Tbcre	=>	There
Tberc	=>	There
Tbere	=>	There
Thcrc	=>	There
Thcre	=>	There
Therc	=>	There
Tliere	=>	There
tbese	=>	these
thcsc	=>	these
tliese	=>	these
Tbese	=>	These
Thesc	=>	These
Tliese	=>	These
tbey	=>	they
thcy	=>	they
thev	=>	they
tliey	=>	they
Tbey	=>	They
Thcy	=>	They
Thev	=>	They
Tliey	=>	They
theyll	=>	they'll
tbick	=>	thick
tliick	=>	thick
tbief	=>	thief
thicf	=>	thief
tliief	=>	thief
tbin	=>	thin
thiu	=>	thin
thm	=>	thin
tliin	=>	thin
tbing	=>	thing
thiug	=>	thing
thmg	=>	thing
tliing	=>	thing
tbink	=>	think
thiuk	=>	think
thmk	=>	think
tliink	=>	think
tbirst	=>	thirst
tliirst	=>	thirst
tbis	=>	this
tliis	=>	this
Tbis	=>	This
Tliis	=>	This
tborn	=>	thorn
thom	=>	thorn
tbose	=>	those
thosc	=>	those
tliose	=>	those
Tbose	=>	Those
Thosc	=>	Those
Tliose	=>	Those
tbougb	=>	though
thongh	=>	though
tbread	=>	thread
thrcad	=>	thread
tliread	=>	thread
tbreat	=>	threat
thrcat	=>	threat
tlireat	=>	threat
tbroat	=>	throat
Tbrougb	=>	Through
Tbrough	=>	Through
Throngh	=>	Through
Througb	=>	Through
tbrow	=>	throw
tlirow	=>	throw
tbumb	=>	thumb
thnmb	=>	thumb
thuinb	=>	thumb
thumh	=>	thumb
thurnb	=>	thumb
tbus	=>	thus
thns	=>	thus
tlius	=>	thus
tickct	=>	ticket
tidc	=>	tide
tidv	=>	tidy
tigbt	=>	tight
tiglit	=>	tight
tiine	=>	time
timc	=>	time
timne	=>	time
tirne	=>	time
tiu	=>	tin
tinv	=>	tiny
tiuy	=>	tiny
tmy	=>	tiny
tirc	=>	tire
titlc	=>	title
todav	=>	today
toc	=>	toe
togetber	=>	together
Torn	=>	Tom
tornorrow	=>	tomorrow
tou	=>	ton
tonc	=>	tone
toue	=>	tone
tongne	=>	tongue
tonguc	=>	tongue
tougue	=>	tongue
tootb	=>	tooth
tonch	=>	touch
toucb	=>	touch
toucli	=>	touch
tongh	=>	tough
tougb	=>	tough
tougli	=>	tough
tonr	=>	tour
toxvard	=>	toward
towcl	=>	towel
towcr	=>	tower
towu	=>	town
tov	=>	toy
tradc	=>	trade
traiu	=>	train
travcl	=>	travel
trav	=>	tray
trcat	=>	treat
treatrnent	=>	treatment
trcaty	=>	treaty
treatv	=>	treaty
trcc	=>	tree
trernble	=>	tremble
trcnd	=>	trend
treud	=>	trend
tribc	=>	tribe
trihe	=>	tribe
trne	=>	true
truc	=>	true
trnnk	=>	trunk
truuk	=>	trunk
trnst	=>	trust
trnth	=>	truth
trutb	=>	truth
trutli	=>	truth
trv	=>	try
tnbe	=>	tube
tubc	=>	tube
tuhe	=>	tube
tnne	=>	tune
tunc	=>	tune
tuue	=>	tune
tnrn	=>	turn
turu	=>	turn
Tnrn	=>	Turn
Turu	=>	Turn
twicc	=>	twice
tvpe	=>	type
typc	=>	type
ngly	=>	ugly
uglv	=>	ugly
nnable	=>	unable
unablc	=>	unable
unahle	=>	unable
uuable	=>	unable
nncle	=>	uncle
unclc	=>	uncle
uucle	=>	uncle
nnder	=>	under
undcr	=>	under
uuder	=>	under
Undcr	=>	Under
undemeath	=>	underneath
unc	=>	une
nnion	=>	union
uuiou	=>	union
nnit	=>	unit
uuit	=>	unit
nnite	=>	unite
unitc	=>	unite
uuite	=>	unite
nnited	=>	united
unitcd	=>	united
uuited	=>	united
nnity	=>	unity
unitv	=>	unity
uuity	=>	unity
nnless	=>	unless
unlcss	=>	unless
uuless	=>	unless
nntil	=>	until
uutil	=>	until
np	=>	up
npon	=>	upon
upou	=>	upon
npper	=>	upper
uppcr	=>	upper
upperrnost	=>	uppermost
npset	=>	upset
upsct	=>	upset
nrge	=>	urge
urgc	=>	urge
nrgent	=>	urgent
urgcnt	=>	urgent
urgeut	=>	urgent
ns	=>	us
nse	=>	use
usc	=>	use
Usc	=>	Use
nsed	=>	used
uscd	=>	used
nsefnl	=>	useful
uscful	=>	useful
nser	=>	user
uscr	=>	user
nsnal	=>	usual
vaiu	=>	vain
vam	=>	vain
vallcy	=>	valley
vallev	=>	valley
valne	=>	value
valuc	=>	value
varv	=>	vary
vcil	=>	veil
vcrb	=>	verb
vcrsc	=>	verse
vcry	=>	very
verv	=>	very
Vcry	=>	Very
Verv	=>	Very
vcsscl	=>	vessel
victiin	=>	victim
victirn	=>	victim
vicw	=>	view
virtne	=>	virtue
virtuc	=>	virtue
visiou	=>	vision
voicc	=>	voice
volnme	=>	volume
voluine	=>	volume
volumc	=>	volume
volurne	=>	volume
votc	=>	vote
vowcl	=>	vowel
vovage	=>	voyage
voyagc	=>	voyage
wagc	=>	wage
waitcr	=>	waiter
wakc	=>	wake
wandcr	=>	wander
wauder	=>	wander
waut	=>	want
warrn	=>	warm
warinth	=>	warmth
warmtb	=>	warmth
warmtli	=>	warmth
warrnth	=>	warmth
wam	=>	warn
waru	=>	warn
wasb	=>	wash
wasli	=>	wash
wasnt	=>	wasn't
wastc	=>	waste
watcb	=>	watch
watcli	=>	watch
watcr	=>	water
wavc	=>	wave
wav	=>	way
wc	=>	we
Wc	=>	We
wcak	=>	weak
wcakcn	=>	weaken
weakeu	=>	weaken
wcalth	=>	wealth
wealtb	=>	wealth
wcapon	=>	weapon
weapou	=>	weapon
wcar	=>	wear
wcavc	=>	weave
wccd	=>	weed
wcck	=>	week
wcigh	=>	weigh
weigb	=>	weigh
wcight	=>	weight
weigbt	=>	weight
welcorne	=>	welcome
wcll	=>	well
wcst	=>	west
westem	=>	western
wct	=>	wet
wbat	=>	what
wliat	=>	what
Wbat	=>	What
Wliat	=>	What
wbeat	=>	wheat
whcat	=>	wheat
wbeel	=>	wheel
whccl	=>	wheel
wben	=>	when
whcn	=>	when
wheu	=>	when
wlien	=>	when
Wben	=>	When
Wbeu	=>	When
Whcn	=>	When
Wheu	=>	When
Wlien	=>	When
wbere	=>	where
whcrc	=>	where
wliere	=>	where
Wbere	=>	Where
Whcrc	=>	Where
Whcre	=>	Where
Wherc	=>	Where
Wliere	=>	Where
wbicb	=>	which
wliicli	=>	which
Wbicb	=>	Which
wbile	=>	while
whilc	=>	while
wliile	=>	while
Wbile	=>	While
Whilc	=>	While
Wliile	=>	While
wbilst	=>	whilst
wliilst	=>	whilst
wbip	=>	whip
wliip	=>	whip
wbite	=>	white
whitc	=>	white
wliite	=>	white
whitcn	=>	whiten
whiteu	=>	whiten
vho	=>	who
wbo	=>	who
wlio	=>	who
Wbo	=>	Who
Wlio	=>	Who
wbole	=>	whole
wholc	=>	whole
wliole	=>	whole
wbom	=>	whom
whoin	=>	whom
whorn	=>	whom
wliom	=>	whom
wbose	=>	whose
whosc	=>	whose
wliose	=>	whose
wby	=>	why
whv	=>	why
wliy	=>	why
wickcd	=>	wicked
widc	=>	wide
widcly	=>	widely
widelv	=>	widely
widcn	=>	widen
wideu	=>	widen
widtb	=>	width
widtli	=>	width
wifc	=>	wife
wiu	=>	win
wiud	=>	wind
wmd	=>	wind
wiudow	=>	window
wmdow	=>	window
winc	=>	wine
wiue	=>	wine
wme	=>	wine
wiug	=>	wing
wmg	=>	wing
winncr	=>	winner
wiuuer	=>	winner
wmner	=>	winner
wintcr	=>	winter
wiuter	=>	winter
wmter	=>	winter
wipc	=>	wipe
wirc	=>	wire
wisdoin	=>	wisdom
wisdorn	=>	wisdom
wisc	=>	wise
wisb	=>	wish
wisli	=>	wish
witb	=>	with
witli	=>	with
Witb	=>	With
Witli	=>	With
witbin	=>	within
withiu	=>	within
withm	=>	within
witliin	=>	within
witbout	=>	without
woinan	=>	woman
womau	=>	woman
wornan	=>	woman
wondcr	=>	wonder
wouder	=>	wonder
woodcn	=>	wooden
woodeu	=>	wooden
woolcn	=>	woolen
wooleu	=>	woolen
workcr	=>	worker
worin	=>	worm
worrn	=>	worm
worrv	=>	worry
worsc	=>	worse
wortb	=>	worth
wortli	=>	worth
wonld	=>	would
wouldnt	=>	wouldn't
wonnd	=>	wound
wouud	=>	wound
wrcck	=>	wreck
writc	=>	write
writcr	=>	writer
wroug	=>	wrong
vard	=>	yard
veah	=>	yeah
vear	=>	year
ycar	=>	year
vellow	=>	yellow
ycllow	=>	yellow
ves	=>	yes
ycs	=>	yes
yct	=>	yet
vield	=>	yield
yicld	=>	yield
cou	=>	you
vou	=>	you
voung	=>	young
yonng	=>	young
youug	=>	young
vour	=>	your
yntir	=>	your
yonr	=>	your
vouth	=>	youth
yonth	=>	youth
youtb	=>	youth
youtli	=>	youth
youve	=>	you've
zcro	=>	zero
